1. Field of the Invention
The present invention relates to an optical recording apparatus, more particularly, to a defect decision device and method for optimally processing defects on an optical recording medium while the optical recording apparatus writes data onto the optical recording medium.
2. Description of the Related Art
The compact disc (CD) was first designed for Audio recording only, and afterwards error correction methods were devised to be able to use the same media and layout to store data. Cross-interleaved Reed-Solomon code (CIRC) has been used as an error-correction coding method for CDs, and overlapped small frames of data. On CDs, all Blocks contain 2352 bytes. Of these, 2048 (2K) bytes are user data, the data one can find in the files. The remainder of the data includes: sync bytes, header bytes and error correction code (ECC) bytes. Error correction devices use Reed-Solomon codes and cycles data multiple times through a mathematical transformation in order to increase the effectiveness of the error correction, especially for burst errors, i.e., errors concentrated closely together, as from a scratch or physical defect.
The error correction technique used in the CD system is the Cross-Interleaved Reed-Solomon code (CIRC). CIRC applies two levels of error correction, known as C1 and C2. The two Reed-Solomon codes, a (32, 28) Reed-Solomon code (C1 code) and a (28, 24) Reed-Solomon code (C2 code), are cross-interleaved. When decoding the CIRC correction code, the C1 decoding is performed first, then the de-interleave is performed and, thereafter, the C2 decoding is performed.
The C1 level is meant to correct small, random errors. The C2 level corrects larger errors and burst errors. CIRC employs two principles to detect and correct errors: redundancy and interleaving. CIRC uses about 25 percent data redundancy. The data is laid out in a way that will allow errors to be corrected, even though the data is not 100% redundant; it uses a parity-checking algorithm to reproduce data that is unreadable. In addition, the data on a disc is interleaved.
Interleaving is a recording method that reduces data errors during playback. Instead of the file being written in a contiguous data stream, the data sectors are intermixed along the recording track. If a disc should have a smudge or scratch, the entire data file is generally recoverable because a smaller amount of the file's data is affected. Interleaving means that the data is distributed over a relatively large physical-disc area. The data bytes are interleaved during recording and de-interleaved during playback. One data block (frame) of 24 data bytes (28 bytes with parity) is distributed over the space of 108 (consecutive) blocks. With scratches, dust, fingerprints, and even holes in the disc, there is usually enough data left to reconstruct any that has been damaged or rendered unreadable. Although CIRC is effective in error detection, if more errors than a permissible maximum occur, they can only be detected, not corrected.
In the case of the CIRC correction code, the encoding process of the (28, 24) Reed-Solomon code (C2 code) is performed for twenty-four data symbols, with each symbol consisting of 8 bits. These data symbols are in a first state of arrangement and, next, the data is rearranged from the first arrangement state to a second state of arrangement by an interleaving operation. The encoding process of the (32, 28) Reed-Solomon code (C1 code) is then executed for the twenty-eight symbols that are now in the second arrangement state. The interleave length of the C2 series has 108 frames.
According to the conventional decoding methods of the CIRC correction code, error processing up to and including double-error correction is executed in the C1 decoding in the first stage, and double-error correction is executed in the C2 decoding at the next stage by referring to pointer information that is derived from the C1 decoding.
In the case of the above-mentioned C1 and C2 codes, detection and correction up to and including double errors (two symbols) can be respectively performed. However, if the error location is already known, then error correction up to and including quadruple errors (four symbols) can be performed.
According to the conventional coding method of the CIRC correction code, error correction up to and including double errors is executed in the C1 decoder. In such case, because there is a possibility of the occurrence of triple errors, which of course could not be corrected, the C1 pointer is sent to the C2 decoder in the next stage, so that error correction is executed in the C2 decoder using the C1 pointer.
More specifically, in the case of the conventional CIRC correction code, the series of the C1 code (C1 series) is formed by 32 symbols that are alternately included in two adjacent frames (one frame equals 32 symbols). The series of the C2 code (C2 series) is formed by 28 symbols that are included in predetermined fames among 108 consecutive frames.
The main tasks of the CIRC decoder are to perform:
                1. Delaying incoming data by one-symbol;        2. Decoding the C1 code (32, 28) and correcting erroneous symbols;        3. De-interleaving;        4. Decoding the C2 code (28, 24) and correction of erroneous symbols;        5. Selective delay of data symbols by two symbols.        
Thirty-two symbols of incoming data form one frame and are supplied to the time delay circuit (delay of one-symbol), in which only the even numbered symbols are delayed by an amount to one frame. 32 symbols output from the time delay circuit are supplied to a C1 decoder, in which the actual decoding of the (32, 28) Reed-Solomon code (C1 code word) is executed. The error correction of up to two errors symbol in a C1 code word is performed in the C1 decoder. When three or more errors are detected in a C1 decoder, the C1 pointer (erasure flag) is set for all symbols in a C1 code word. The data and erasure flags are further processed in the de-interleave circuit (delay lines of unequal length).
The output of the de-interleave circuit is supplied to a C2 decoder. In the de-interleave circuit the erasure flag of each symbol generated from a C1 decoder is de-interleaved in a manner similar to the de-interleave of the data. The (erasure) correction of up to four errors is executed in a C2 decoder by use of the C1 erasure flags.
If correction of up to four error (symbols) is possible by the C2 decoder then the C1 erasure flags are cleared. If correction is not possible by the C2 decoder, then either the C1 erasure flags in a C2 code word are copied or erasure flags to all symbol of a C2 code word are set. The last stage in the CIRC decoding is a two-symbol delay that is executed by a two-symbol delay circuit.
The errors E11, E21, E31, E12, E22, and E32 derive from these two levels of error correction. The first number is the number of errors, and the second number is the decoder level.
Level 1 E Errors, E11, E21, and E31, occur at the first (C1) stage of error correction. An E11 error means that one bad symbol (byte) was corrected at the C1 stage. An E21 error means two bad bytes, and E31 signifies that three bad bytes were detected. E31 errors are uncorrectable at the first stage and must be passed on to the second stage of correction.
Level 2 E Errors are handled in the second C2 stage. An E12 error means one bad symbol (byte) was corrected at the C2 stage. Likewise, an E22 means two bad symbols and E32, three or more bad symbols. For CD-ROM, any E32 errors are unacceptable (e.g., uncorrectable). First, an uncorrectable error in computer data can have a devastating effect. E32 errors on a pressed Audio or ROM disc, or a CD-R, indicate that the user is dangerously close to losing stored data with the next scratch or fingerprint. (See CD-DA).
The normal error correction incorporated in a DVD is much more powerful than the CIRC in a CD-ROM, and is able to give the high reliability needed for data applications, enabling detection and correction of errors from defects as large as 2 mm in diameter. A common ECC for DVDs is the Reed-Solomon Product Code (RSPC).
RSPC uses rows and columns of Reed-Solomon encoding in a two-dimensional lattice. Data secured with a Parity Inner (PI) RS code (182, 172, 11) is disposed in rows 182 bytes wide. Meanwhile, the 182-byte wide rows are stacked and the Data is further secured with a Parity Outer (PO) RS code (208, 192, 17) disposed in columns 208 bytes tall.
As in a CD-ROM, the information recorded on a DVD disc is formatted into Sectors. A Sector is the smallest addressable part of the information track that can be accessed independently. Depending on the stage of the signal processing, a sector (or group of sectors) is called: a Data Sector, an ECC block, a Recording Sector or a Physical Sector.
A Data Sector is 2064 bytes long, and consists of 2048 bytes of Main Data, 12 bytes of Identification Data (ID) and 4 bytes of Error Detection Code (EDC).
After scrambling the main data in the data sectors, Reed-Solomon error correction coding information is added to each group of 16 Data Sectors to form an ECC block with supplemental inner code parity (PI) and outer code parity (PO) bytes. Parity Outer errors are generally due to uncorrectable Parity Inner (PI) errors. A row of an ECC Block that has at least 1 byte in error constitutes a PI error If a row of an ECC Block contains more than 5 erroneous bytes, the row is said to be “PI-uncorrectable.” In any ECC Block the number of PI-uncorrectable rows should not exceed 4. A “PO uncorrectable” error will make the disc (ECC block) unreadable.
A row is 182 bytes long where the last 10 bytes contain PI (Parity Inner) information. An ECC block is 208 rows long where the last 16 rows contain the PO (Parity Outer) information. This provides a maximum possible PI error amount of 208 errors per ECC block. The recording sectors are formed by interleaving the PO rows in the ECC block and dividing such a block again into 16 sectors. Finally, EFM+ channel modulation creates the Physical Sector, which is the actual format recorded on the DVD disc.
Blu-Ray uses an error correction strategy based on Reed-Solomon codes, called LDC (Long Distance Code) and BIS (Burst Indication Subcode). The ECC block of BD is composed of two SYNC codes, six BIS codes, and eight LDC codes in vertical directions. The LDC parity bytes are RS (248, 216, 33) codes operating on data columns. The BIS blocks contain control and addressing information, which are protected by independent RS (62, 30, 33) codes. These BIS blocks are organised in 3 “picket columns”, evenly spaced between user data. The idea of these “pickets” is as follows, when errors are detected in two consecutive BIS codewords, it is likely that this was caused by a burst error, and thus that data bytes between these two columns are bad. This information can then be used as erasure indications to increase the correction capabilities of the LDC codes. Additionally, two diagonal interleaving steps (similar to what is used on CDs) further decrease the impact of burst errors on error correction. Thus, each ECC block of BD is composed of two SYNC codes, six BIS codes, and eight LDC codes in vertical directions. As a result, Blu-ray resilience against burst errors is similar to that of HD-DVD (slightly over 7 mm).
The standards for CD-ROM, DVD, HD-DVD, and Blu-ray define hardware handling of defects, based on errors detected while writing, reading or during verification. Bad sectors are marked as defective and are replaced by spare ones (in a spare area). This is generally handled by the drive in a transparent way for the user.
Defects on an optical disc medium may be generated by deterioration, scratches, or fingerprints, dust particles, and/or from production defects, and degradation etc. and can be detected when an optical recording apparatus writes data on the optical recording medium. To prevent writing/reading data to/from the defective areas formed by the foregoing causes, management of the defective areas is required. The defective areas (i.e., defective sectors or defective blocks) in the data area are replaced with good (e.g., spare) areas, according to a slipping replacement algorithm or linear replacement algorithm.
A recordable and/or rewritable disc managed by a predetermined method for managing defects may have a defective area, which can be detected when the disc is initialized. In order to manage the defects, physical sector numbers for indicating physical position on the disc and logical sector numbers for recording and managing a file by a file system, are separately managed. Logical sector numbers are sequentially given to record and reproduce a file by a file system, in areas other than areas which are not used for recording a file, such as a lead-in area or a guard area for adjusting the change of speed at a boundary between zones, and an area where defects are generated.
Among defect management methods, there are slipping replacement and linear replacement. Slipping replacement is employed when a defect is detected during a certification process for investigating defects of a disc when the disc is initialized. A logical sector number to be provided to a defective sector is provided to a sector next to the defective sector. Slipping replacement minimizes a reduction in the recording or reproduction speed due to defects.
Slipping replacement for skipping defects without providing logical sector numbers to the defects, is used for defects (primary defects) generated upon initialization of the disc, and linear replacement for replacing error correction code (ECC) blocks of an erroneous zone with normal blocks in a spare area, is used for defects (secondary defects) generated during use of the disc.
That is, slipping replacement is used to minimize a reduction in the recording or reproduction speed due to defects, in which a logical sector number to be provided to a sector which is determined to be defective during a certification process for inspecting defects of a disc when the disc is initialized, is provided to a sector next to the defective sector, that is, data is recorded or reproduced by slipping a sector where a defect is generated during recording or reproduction. Here, an actual physical sector number is shifted by the sector number designated by skipping the defective sector. According to the specifications, the position of a defective sector replaced by slipping replacement is prescribed to be recorded in a primary defect list (PDL) in a defect management area (DMA) on a disc.
Slipping replacement cannot be used for a defect that is generated while a disc is being used. When a defective portion is disregarded or skipped, discontinuity is introduced into the logical sector numbering, which means that slipping replacement violates file system rules. Thus, linear replacement is used for defects generated during use of the disc; when a defect is detected during (recording) end-use of the disc. Linear replacement replaces real data corresponding to a defective ECC block with an ECC block existing in the spare area.
The location of the defective block replaced by linear replacement is prescribed to be recorded in a secondary defect list (SDL) in a defect management area on a disc. When linear replacement is used, logical sector numbering is not interrupted. However, when there is a defect, the positions of sectors on a disc are discontinuous, and real data for a defective ECC block exists in a spare area.
FIG. 1 is timing diagram illustrating a conventional defect detection operation. Referring to FIG. 1, the conventional defect algorithm determines a defect position by using time information of the disc. A position determined as a defective area may correspond to a more delayed time than the time when the defect decision signal is output. Therefore, the conventional defect algorithm also determines an adjacent block as the defective block.
In a first case (defect decision 1), a real defect exists in the areas 3 and 4, but the conventional defect detection algorithm only determine area 4 as the defective area. Therefore, the conventional defect detection algorithm also declares that the adjacent area 3 as a defective area (e.g., to solve its limitation that it doesn't detect the true position of defect).
In a second case (defect decision 2), the real defect exists only in the area 4 and the conventional defect detection algorithm detects it in area 4. However, the conventional defect algorithm declares both the real defective area 4 and also the non-defective adjacent area 3 as being defective areas. This may result in an unnecessary loss of spare area.
FIG. 2 is a diagram illustrating conventional defect decisions in relation to examples of defects on a disc media. Referring to FIG. 2, the conventional defect detection algorithm determines defects more than a predetermined length as being a defective area. The crosshatched areas A, B, C, D, and E represent real defects. The conventional defect detection algorithm can treat a series of short errors (e.g., C and D) as either as series of short (undetectable) defects (as in Defect decision 1) or as a single long (detectable) defective area (as in 222 in defect decision 2).
In defect decision 1, the long defect A is detected as a defective area in 211. But, the series of shorter defects B, C, and D are not detected as a defective area, while nearby defect E is detected 212 as a defective area. There is the possibility that the optical disc system cannot reproduce the data stored in areas C and D, because optical disc systems use the interleaving technology when encoding data (in order to increase the error correction ability for a burst error). Each of the defects C and D are of error-correctable length individually, but there is the possibility that the two or more separate (e.g., short) defects may affect the same coded data. Or, the user may be dangerously close to losing stored data with the next scratch or fingerprint.
In defect decision 2, the long defect A is detected as a defective area (at 221). And, Defect Decision 2 determines the several short defects B, C and D and defective area E (including all non-defective interstitial areas, e.g., between B and C) as one long defective area 222. The conventional defect algorithm in firmware cannot exactly determine whether a defect existing in the sector while recording is a correctable error or not. There results an unnecessary loss of spare area.